home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 February: Tool Chest / Apple Developer CD Series Tool Chest February 1996 (Apple Computer)(1996).iso / Sample Code / AOCE Sample Code / PowerTalk Access Modules / Sample SMSAM / SampleSMSAM Source / BuildingBlocks / DebugAssert.cp < prev    next >
Encoding:
Text File  |  1995-07-28  |  32.1 KB  |  765 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        DebugAssert.cp
  3.  
  4.     Copyright:    © 1991-1994 by Apple Computer, Inc.
  5.                 All rights reserved.
  6.  
  7.     Part of the AOCE Sample SMSAM Package.  Consult the license
  8.     which came with this software for your specific legal rights.
  9.  
  10. */
  11.  
  12.  
  13.  
  14. #ifndef    __DEBUGASSERT__
  15. #include "DebugAssert.h"
  16. #endif
  17.  
  18. #ifndef    __IOSTREAM__
  19. #include "IOStream.h"
  20. #endif
  21.  
  22. #ifndef __OCEERRORS__
  23. #include "OCEErrors.h"
  24. #endif
  25.  
  26. #ifndef    __OSUTILS__
  27. #include "OSUtils.h"
  28. #endif
  29.  
  30. #ifndef    __PACKAGES__
  31. #include "Packages.h"
  32. #endif
  33.  
  34. #ifndef    __STRING__
  35. #include "String.h"
  36. #endif
  37.  
  38. #ifndef    __TYPES__
  39. #include "Types.h"
  40. #endif
  41.  
  42. #ifdef THINK_CPLUS
  43. #include "unmangler.h"
  44. #endif
  45.  
  46. #if defined ( BLJTestTool )
  47.  
  48.     #define    chris cout
  49.     
  50. #else
  51.  
  52.     #ifndef __DEBUGGINGGEAR__
  53.     #include "DebuggingGear.h"
  54.     #endif
  55.  
  56. #endif
  57.  
  58. #pragma segment DebugStream
  59.  
  60. /***********************************|****************************************/
  61.  
  62. #if defined ( DEBUG ) || defined ( debug )
  63. Boolean 
  64. AssertDebug ( Boolean e, const char* expr, const char* where, unsigned long line ) 
  65. {
  66.     if ( !e )
  67.     {
  68.         #ifndef THINK_CPLUS
  69.         static char d[128];
  70.         strncpy(d, "FILE ", sizeof ( d ) );
  71.         strncat(d,where, sizeof ( d ) );
  72.         strncat(d,"; LINE ", sizeof ( d ) );
  73.         numtostring(line,&d[strlen(d)]);
  74.         strcat (d, " err=");
  75.         numtostring(e,&d[strlen(d)]);
  76.         strncat(d, "; # ASSERT FAILED: ", sizeof ( d ) );
  77.         strncat(d,expr, sizeof ( d ) );
  78.         
  79.         chris << "\n" << d << "\n" << flush;
  80.         
  81.         #else
  82.         chris << endl << "FILE \"" << where << "\" Line " << line << " err=" << e << "; ASSERT FAILED: " << expr << endl;
  83.         #endif
  84.  
  85.         extern void BreakStr (const char* breakString);
  86.         if ( chrisFlag.Flag ( 11 ) )
  87.             BreakStr ( "ASSERT" );
  88.     }
  89.     
  90.     return e;
  91. }
  92.  
  93. #else
  94.  
  95. Boolean 
  96. AssertDebug ( Boolean e, const char* expr, const char* where, unsigned long line ) 
  97. {
  98.     return e;
  99. }
  100.  
  101. #endif    // debug || DEBUG
  102.  
  103. /***********************************|****************************************/
  104.  
  105. #pragma push
  106. #pragma segment GetErrorName
  107.  
  108. #ifndef    __ERRORS__
  109. #include "Errors.h"
  110. #endif
  111.  
  112. const char* 
  113. GetErrorName ( OSErr error )
  114. {
  115.     switch ( error )
  116.     {
  117.         case noErr: return "noErr";
  118.         case SlpTypeErr: return "SlpTypeErr";
  119.         case abortErr: return "abortErr";
  120.         case addRefFailed: return "addRefFailed";
  121.         case addResFailed: return "addResFailed";
  122.         case afpAccessDenied: return "afpAccessDenied";
  123.         case afpAuthContinue: return "afpAuthContinue";
  124.         case afpBadIDErr: return "afpBadIDErr";
  125.         case afpBadUAM: return "afpBadUAM";
  126.         case afpBadVersNum: return "afpBadVersNum";
  127.         case afpBitmapErr: return "afpBitmapErr";
  128.         case afpCallNotSupported: return "afpCallNotSupported";
  129.         case afpCantMove: return "afpCantMove";
  130.         case afpCantRename: return "afpCantRename";
  131.         case afpCatalogChanged: return "afpCatalogChanged";
  132.         case afpContainsSharedErr: return "afpContainsSharedErr";
  133.         case afpDenyConflict: return "afpDenyConflict";
  134.         case afpDiffVolErr: return "afpDiffVolErr";
  135.         case afpDirNotEmpty: return "afpDirNotEmpty";
  136.         case afpDirNotFound: return "afpDirNotFound";
  137.         case afpDiskFull: return "afpDiskFull";
  138.         case afpEofError: return "afpEofError";
  139.         case afpFileBusy: return "afpFileBusy";
  140.         case afpFlatVol: return "afpFlatVol";
  141.         case afpIDExists: return "afpIDExists";
  142.         case afpIDNotFound: return "afpIDNotFound";
  143.         case afpIconTypeError: return "afpIconTypeError";
  144.         case afpInsideSharedErr: return "afpInsideSharedErr";
  145.         case afpInsideTrashErr: return "afpInsideTrashErr";
  146.         case afpItemNotFound: return "afpItemNotFound";
  147.         case afpLockErr: return "afpLockErr";
  148.         case afpMiscErr: return "afpMiscErr";
  149.         case afpNoMoreLocks: return "afpNoMoreLocks";
  150.         case afpNoServer: return "afpNoServer";
  151.         case afpObjectExists: return "afpObjectExists";
  152.         case afpObjectLocked: return "afpObjectLocked";
  153.         case afpObjectNotFound: return "afpObjectNotFound";
  154.         case afpObjectTypeErr: return "afpObjectTypeErr";
  155.         case afpParmErr: return "afpParmErr";
  156.         case afpPwdExpiredErr: return "afpPwdExpiredErr";
  157.         case afpPwdSameErr: return "afpPwdSameErr";
  158.         case afpPwdTooShortErr: return "afpPwdTooShortErr";
  159.         case afpRangeNotLocked: return "afpRangeNotLocked";
  160.         case afpRangeOverlap: return "afpRangeOverlap";
  161.         case afpSameObjectErr: return "afpSameObjectErr";
  162.         case afpServerGoingDown: return "afpServerGoingDown";
  163.         case afpSessClosed: return "afpSessClosed";
  164.         case afpTooManyFilesOpen: return "afpTooManyFilesOpen";
  165.         case afpUserNotAuth: return "afpUserNotAuth";
  166.         case afpVolLocked: return "afpVolLocked";
  167.         case appIsDaemon: return "appIsDaemon";
  168.         case appMemFullErr: return "appMemFullErr";
  169.         case appModeErr: return "appModeErr";
  170.         case aspBadVersNum: return "aspBadVersNum";
  171.         case aspBufTooSmall: return "aspBufTooSmall";
  172.         case aspNoAck: return "aspNoAck";
  173.         case aspNoMoreSess: return "aspNoMoreSess";
  174.         case aspNoServers: return "aspNoServers";
  175.         case aspParamErr: return "aspParamErr";
  176.         case aspServerBusy: return "aspServerBusy";
  177.         case aspSessClosed: return "aspSessClosed";
  178.         case aspSizeErr: return "aspSizeErr";
  179.         case aspTooMany: return "aspTooMany";
  180.         case atpBadRsp: return "atpBadRsp";
  181.         case atpLenErr: return "atpLenErr";
  182.         case authFailErr: return "authFailErr";
  183.         case badATPSkt: return "badATPSkt";
  184.         case badBtSlpErr: return "badBtSlpErr";
  185.         case badBuffNum: return "badBuffNum";
  186.         case badChannel: return "badChannel";
  187.         case badCksmErr: return "badCksmErr";
  188.         case badDBtSlp: return "badDBtSlp";
  189.         case badDCksum: return "badDCksum";
  190.         case badEditionFileErr: return "badEditionFileErr";
  191.         case badExtResource: return "badExtResource";
  192.         case badFidErr: return "badFidErr";
  193.         case badFileFormat: return "badFileFormat";
  194.         case badFormat: return "badFormat";
  195.         case badLocNameErr: return "badLocNameErr";
  196.         case badMDBErr: return "badMDBErr";
  197.         case badMovErr: return "badMovErr";
  198.         case badPortNameErr: return "badPortNameErr";
  199.         case badReqErr: return "badReqErr";
  200.         case badSectionErr: return "badSectionErr";
  201.         case badServiceMethodErr: return "badServiceMethodErr";
  202.         case badSubPartErr: return "badSubPartErr";
  203.         case badUnitErr: return "badUnitErr";
  204.         case bdNamErr: return "bdNamErr";
  205.         case breakRecd: return "breakRecd";
  206.         case buf2SmallErr: return "buf2SmallErr";
  207.         case buffersTooSmall: return "buffersTooSmall";
  208.         case cDevErr: return "cDevErr";
  209.         case cMatchErr: return "cMatchErr";
  210.         case cNoMemErr: return "cNoMemErr";
  211.         case cProtectErr: return "cProtectErr";
  212.         case cRangeErr: return "cRangeErr";
  213.         case cResErr: return "cResErr";
  214.         case cTempMemErr: return "cTempMemErr";
  215.         case cannotDeferErr: return "cannotDeferErr";
  216.         case cannotMakeContiguousErr: return "cannotMakeContiguousErr";
  217.         case cantLoadPickMethodErr: return "cantLoadPickMethodErr";
  218.         case cantStepErr: return "cantStepErr";
  219.         case catChangedErr: return "catChangedErr";
  220.         case cbNotFound: return "cbNotFound";
  221.         case channelBusy: return "channelBusy";
  222.         case channelNotBusy: return "channelNotBusy";
  223.         case ckSumErr: return "ckSumErr";
  224.         case clkRdErr: return "clkRdErr";
  225.         case clkWrErr: return "clkWrErr";
  226.         case closErr: return "closErr";
  227.         case colorsRequestedErr: return "colorsRequestedErr";
  228.         case containerAlreadyOpenWrn: return "containerAlreadyOpenWrn";
  229.         case containerNotFoundWrn: return "containerNotFoundWrn";
  230.         case controlErr: return "controlErr";
  231.         case corErr: return "corErr";
  232.         case dInstErr: return "dInstErr";
  233.         case dRemovErr: return "dRemovErr";
  234.         case dataVerErr: return "dataVerErr";
  235.         case dceExtErr: return "dceExtErr";
  236.         case ddpLenErr: return "ddpLenErr";
  237.         case ddpSktErr: return "ddpSktErr";
  238.         case desktopDamagedErr: return "desktopDamagedErr";
  239.         case destPortErr: return "destPortErr";
  240.         case diffVolErr: return "diffVolErr";
  241.         case dirFulErr: return "dirFulErr";
  242.         case dirNFErr: return "dirNFErr";
  243.         case ds32BitMode: return "ds32BitMode";
  244.         case dsAddressErr: return "dsAddressErr";
  245.         case dsBadLaunch: return "dsBadLaunch";
  246.         case dsBadPatch: return "dsBadPatch";
  247.         case dsBadPatchHeader: return "dsBadPatchHeader";
  248.         case dsBadSANEOpcode: return "dsBadSANEOpcode";
  249.         case dsBadSlotInt: return "dsBadSlotInt";
  250.         case dsBadStartupDisk: return "dsBadStartupDisk";
  251.         case dsBufPtrTooLow: return "dsBufPtrTooLow";
  252.         case dsBusError: return "dsBusError";
  253.         case dsCDEFNotFound: return "dsCDEFNotFound";
  254.         case dsChkErr: return "dsChkErr";
  255.         case dsCoreErr: return "dsCoreErr";
  256.         case dsDisassemblerInstalled: return "dsDisassemblerInstalled";
  257.         case dsExtensionsDisabled: return "dsExtensionsDisabled";
  258.         case dsFPErr: return "dsFPErr";
  259.         case dsFSErr: return "dsFSErr";
  260.         case dsFinderErr: return "dsFinderErr";
  261.         case dsForcedQuit: return "dsForcedQuit";
  262.         case dsGreeting: return "dsGreeting";
  263.         case dsHD20Installed: return "dsHD20Installed";
  264.         case dsHMenuFindErr: return "dsHMenuFindErr";
  265.         case dsIOCoreErr: return "dsIOCoreErr";
  266.         case dsIllInstErr: return "dsIllInstErr";
  267.         case dsIrqErr: return "dsIrqErr";
  268.         case dsLineAErr: return "dsLineAErr";
  269.         case dsLineFErr: return "dsLineFErr";
  270.         case dsLoadErr: return "dsLoadErr";
  271.         case dsMBarNFnd: return "dsMBarNFnd";
  272.         case dsMDEFNotFound: return "dsMDEFNotFound";
  273.         case dsMacsBugInstalled: return "dsMacsBugInstalled";
  274.         case dsMemFullErr: return "dsMemFullErr";
  275.         case dsMiscErr: return "dsMiscErr";
  276.         case dsNeedToWriteBootBlocks: return "dsNeedToWriteBootBlocks";
  277.         case dsNoFPU: return "dsNoFPU";
  278.         case dsNoPackErr: return "dsNoPackErr";
  279.         case dsNoPatch: return "dsNoPatch";
  280.         case dsNoPk1: return "dsNoPk1";
  281.         case dsNoPk2: return "dsNoPk2";
  282.         case dsNoPk3: return "dsNoPk3";
  283.         case dsNoPk4: return "dsNoPk4";
  284.         case dsNoPk5: return "dsNoPk5";
  285.         case dsNoPk6: return "dsNoPk6";
  286.         case dsNoPk7: return "dsNoPk7";
  287.         case dsNotEnoughRAMToBoot: return "dsNotEnoughRAMToBoot";
  288.         case dsNotThe1: return "dsNotThe1";
  289.         case dsOldSystem: return "dsOldSystem";
  290.         case dsOvflowErr: return "dsOvflowErr";
  291.         case dsParityErr: return "dsParityErr";
  292.         case dsPrivErr: return "dsPrivErr";
  293.         case dsReinsert: return "dsReinsert";
  294.         case dsShutDownOrRestart: return "dsShutDownOrRestart";
  295.         case dsStknHeap: return "dsStknHeap";
  296.         case dsSwitchOffOrRestart: return "dsSwitchOffOrRestart";
  297.         case dsSysErr: return "dsSysErr";
  298.         case dsSystemFileErr: return "dsSystemFileErr";
  299.         case dsTraceErr: return "dsTraceErr";
  300.         case dsWDEFNotFound: return "dsWDEFNotFound";
  301.         case dsZeroDivErr: return "dsZeroDivErr";
  302.         case dskFulErr: return "dskFulErr";
  303.         case dupFNErr: return "dupFNErr";
  304.         case editionMgrInitErr: return "editionMgrInitErr";
  305.         case envBadVers: return "envBadVers";
  306.         case envNotPresent: return "envNotPresent";
  307.         case envVersTooBig: return "envVersTooBig";
  308.         case eofErr: return "eofErr";
  309. //         case evtNotEnb: return "evtNotEnb | siInitSDTblErr | swOverrunErr | dsBusError";
  310.         case exUserBreak: return "exUserBreak";
  311.         case excessCollsns: return "excessCollsns";
  312.         case extFSErr: return "extFSErr";
  313.         case extractErr: return "extractErr";
  314.         case fBsyErr: return "fBsyErr";
  315.         case fLckdErr: return "fLckdErr";
  316.         case fidExists: return "fidExists";
  317.         case fidNotFound: return "fidNotFound";
  318.         case firstDskErr: return "firstDskErr";
  319.         case fmt1Err: return "fmt1Err";
  320.         case fmt2Err: return "fmt2Err";
  321.         case fnOpnErr: return "fnOpnErr";
  322.         case fnfErr: return "fnfErr";
  323.         case fontDecError: return "fontDecError";
  324.         case fontNotDeclared: return "fontNotDeclared";
  325.         case fontNotOutlineErr: return "fontNotOutlineErr";
  326.         case fontSubErr: return "fontSubErr";
  327.         case framingErr: return "framingErr";
  328.         case fsRnErr: return "fsRnErr";
  329.         case gcrOnMFMErr: return "gcrOnMFMErr";
  330.         case gfpErr: return "gfpErr";
  331.         case guestNotAllowedErr: return "guestNotAllowedErr";
  332.         case hMenuFindErr: return "hMenuFindErr";
  333.         case hardwareConfigErr: return "hardwareConfigErr";
  334.         case hwOverrunErr: return "hwOverrunErr";
  335.         case hwParamErr: return "hwParamErr";
  336. //         case iIOAbortErr: return "abortErr";
  337.         case initIWMErr: return "initIWMErr";
  338.         case interruptsMaskedErr: return "interruptsMaskedErr";
  339.         case ioErr: return "ioErr";
  340.         case lapProtErr: return "lapProtErr";
  341. //         case lastDskErr: return "lastDskErr | lastDskErr | noDriveErr";
  342.         case localOnlyErr: return "localOnlyErr";
  343.         case mBarNFnd: return "mBarNFnd";
  344.         case mFulErr: return "mFulErr";
  345.         case mapReadErr: return "mapReadErr";
  346.         case memAZErr: return "memAZErr";
  347.         case memAdrErr: return "memAdrErr";
  348.         case memBCErr: return "memBCErr";
  349.         case memFragErr: return "memFragErr";
  350.         case memFullErr: return "memFullErr";
  351.         case memLockedErr: return "memLockedErr";
  352.         case memPCErr: return "memPCErr";
  353.         case memPurErr: return "memPurErr";
  354.         case memROZError: return "memROZError";
  355.         case memSCErr: return "memSCErr";
  356.         case memWZErr: return "memWZErr";
  357.         case menuPrgErr: return "menuPrgErr";
  358.         case multiplePublisherWrn: return "multiplePublisherWrn";
  359.         case nameTypeErr: return "nameTypeErr";
  360.         case nbpBuffOvr: return "nbpBuffOvr";
  361.         case nbpConfDiff: return "nbpConfDiff";
  362.         case nbpDuplicate: return "nbpDuplicate";
  363.         case nbpNISErr: return "nbpNISErr";
  364.         case nbpNoConfirm: return "nbpNoConfirm";
  365.         case nbpNotFound: return "nbpNotFound";
  366.         case negZcbFreeErr: return "negZcbFreeErr";
  367.         case networkErr: return "networkErr";
  368.         case nilHandleErr: return "nilHandleErr";
  369.         case nmTypErr: return "nmTypErr";
  370.         case noAdrMkErr: return "noAdrMkErr";
  371.         case noBridgeErr: return "noBridgeErr";
  372.         case noDataArea: return "noDataArea";
  373.         case noDefaultUserErr: return "noDefaultUserErr";
  374. //         case noDriveErr: return "noDriveErr";
  375.         case noDtaMkErr: return "noDtaMkErr";
  376.         case noGlobalsErr: return "noGlobalsErr";
  377.         case noHardware: return "noHardware";
  378. //         case noHardwareErr: return "noHardwareErr";
  379.         case noInformErr: return "noInformErr";
  380.         case noMPPErr: return "noMPPErr";
  381.         case noMacDskErr: return "noMacDskErr";
  382.         case noMachineNameErr: return "noMachineNameErr";
  383.         case noMemForPictPlaybackErr: return "noMemForPictPlaybackErr";
  384.         case noMoreRealTime: return "noMoreRealTime";
  385. //         case noNybErr: return "noNybErr";
  386.         case noPortErr: return "noPortErr";
  387.         case noRelErr: return "noRelErr";
  388.         case noResponseErr: return "noResponseErr";
  389.         case noScrapErr: return "noScrapErr";
  390.         case noSendResp: return "noSendResp";
  391.         case noSessionErr: return "noSessionErr";
  392.         case noToolboxNameErr: return "noToolboxNameErr";
  393.         case noTypeErr: return "noTypeErr";
  394.         case noUserNameErr: return "noUserNameErr";
  395.         case noUserRecErr: return "noUserRecErr";
  396.         case noUserRefErr: return "noUserRefErr";
  397.         case notAFileErr: return "notAFileErr";
  398.         case notEnoughBufferSpace: return "notEnoughBufferSpace";
  399.         case notEnoughHardware: return "notEnoughHardware";
  400. //         case notEnoughHardwareErr: return "notEnoughHardwareErr";
  401.         case notEnoughMemoryErr: return "notEnoughMemoryErr";
  402.         case notHeldErr: return "notHeldErr";
  403.         case notInitErr: return "notInitErr";
  404.         case notLockedErr: return "notLockedErr";
  405.         case notLoggedInErr: return "notLoggedInErr";
  406.         case notOpenErr: return "notOpenErr";
  407.         case notRegisteredSectionErr: return "notRegisteredSectionErr";
  408.         case notThePublisherWrn: return "notThePublisherWrn";
  409.         case nsDrvErr: return "nsDrvErr";
  410.         case nsStackErr: return "nsStackErr";
  411.         case nsvErr: return "nsvErr";
  412. //         case offLinErr: return "offLinErr";
  413.         case opWrErr: return "opWrErr";
  414.         case openErr: return "openErr";
  415.         case paramErr: return "paramErr";
  416. //         case parityErr: return "parityErr";
  417.         case permErr: return "permErr";
  418.         case pictInfoIDErr: return "pictInfoIDErr";
  419.         case pictInfoVerbErr: return "pictInfoVerbErr";
  420.         case pictInfoVersionErr: return "pictInfoVersionErr";
  421.         case pictureDataErr: return "pictureDataErr";
  422.         case pixMapTooDeepErr: return "pixMapTooDeepErr";
  423.         case pmBusyErr: return "pmBusyErr";
  424.         case pmRecvEndErr: return "pmRecvEndErr";
  425.         case pmRecvStartErr: return "pmRecvStartErr";
  426.         case pmReplyTOErr: return "pmReplyTOErr";
  427.         case pmSendEndErr: return "pmSendEndErr";
  428.         case pmSendStartErr: return "pmSendStartErr";
  429.         case portClosedErr: return "portClosedErr";
  430.         case portInUse: return "portInUse";
  431.         case portNameExistsErr: return "portNameExistsErr";
  432.         case portNotCf: return "portNotCf";
  433.         case posErr: return "posErr";
  434.         case prInitErr: return "prInitErr";
  435.         case prWrErr: return "prWrErr";
  436.         case procNotFound: return "procNotFound";
  437.         case protocolErr: return "protocolErr";
  438.         case qErr: return "qErr";
  439.         case queueFull: return "queueFull";
  440.         case rcvrErr: return "rcvrErr";
  441.         case readErr: return "readErr";
  442.         case readQErr: return "readQErr";
  443.         case recNotFnd: return "recNotFnd";
  444.         case reqAborted: return "reqAborted";
  445.         case reqFailed: return "reqFailed";
  446.         case resAttrErr: return "resAttrErr";
  447.         case resFNotFound: return "resFNotFound";
  448.         case resNotFound: return "resNotFound";
  449.         case resProblem: return "resProblem";
  450.         case rfNumErr: return "rfNumErr";
  451.         case rgnTooBigErr: return "rgnTooBigErr";
  452.         case rgnTooBigError: return "rgnTooBigError";
  453.         case rmvRefFailed: return "rmvRefFailed";
  454.         case rmvResFailed: return "rmvResFailed";
  455.         case sameFileErr: return "sameFileErr";
  456. //         case sdmInitErr: return "sdmInitErr";
  457. //         case sdmJTInitErr: return "sdmJTInitErr";
  458. //         case sdmPRAMInitErr: return "sdmPRAMInitErr";
  459. //         case sdmPriInitErr: return "sdmPriInitErr";
  460. //         case sdmSRTInitErr: return "sdmSRTInitErr";
  461.         case seNoDB: return "seNoDB";
  462.         case sectNFErr: return "sectNFErr";
  463.         case seekErr: return "seekErr";
  464. //         case selectorErr: return "selectorErr";
  465.         case sessClosedErr: return "sessClosedErr";
  466.         case sessTableErr: return "sessTableErr";
  467. //         case shutDownAlert: return "shutDownAlert";
  468.         case siBadDeviceName: return "siBadDeviceName";
  469.         case siBadRefNum: return "siBadRefNum";
  470.         case siBadSoundInDevice: return "siBadSoundInDevice";
  471.         case siDeviceBusyErr: return "siDeviceBusyErr";
  472.         case siHardDriveTooSlow: return "siHardDriveTooSlow";
  473. //         case siInitSDTblErr: return "siInitSDTblErr";
  474. //         case siInitSPTblErr: return "siInitSPTblErr";
  475. //         case siInitVBLQsErr: return "siInitVBLQsErr";
  476.         case siInputDeviceErr: return "siInputDeviceErr";
  477.         case siInvalidCompression: return "siInvalidCompression";
  478.         case siInvalidSampleRate: return "siInvalidSampleRate";
  479.         case siInvalidSampleSize: return "siInvalidSampleSize";
  480.         case siNoBufferSpecified: return "siNoBufferSpecified";
  481.         case siNoSoundInHardware: return "siNoSoundInHardware";
  482.         case siUnknownInfoType: return "siUnknownInfoType";
  483.         case siUnknownQuality: return "siUnknownQuality";
  484.         case sktClosedErr: return "sktClosedErr";
  485.         case slotNumErr: return "slotNumErr";
  486.         case smBLFieldBad: return "smBLFieldBad";
  487.         case smBadBoardId: return "smBadBoardId";
  488.         case smBadRefId: return "smBadRefId";
  489.         case smBadsList: return "smBadsList";
  490.         case smBadsPtrErr: return "smBadsPtrErr";
  491.         case smBlkMoveErr: return "smBlkMoveErr";
  492.         case smBusErrTO: return "smBusErrTO";
  493.         case smByteLanesErr: return "smByteLanesErr";
  494.         case smCPUErr: return "smCPUErr";
  495.         case smCRCFail: return "smCRCFail";
  496.         case smCkStatusErr: return "smCkStatusErr";
  497.         case smCodeRevErr: return "smCodeRevErr";
  498.         case smDisDrvrNamErr: return "smDisDrvrNamErr";
  499.         case smDisabledSlot: return "smDisabledSlot";
  500.         case smDisposePErr: return "smDisposePErr";
  501.         case smEmptySlot: return "smEmptySlot";
  502.         case smFHBlkDispErr: return "smFHBlkDispErr";
  503.         case smFHBlockRdErr: return "smFHBlockRdErr";
  504.         case smFormatErr: return "smFormatErr";
  505.         case smGetDrvrNamErr: return "smGetDrvrNamErr";
  506.         case smGetPRErr: return "smGetPRErr";
  507.         case smInitStatVErr: return "smInitStatVErr";
  508.         case smInitTblVErr: return "smInitTblVErr";
  509.         case smNewPErr: return "smNewPErr";
  510.         case smNilsBlockErr: return "smNilsBlockErr";
  511.         case smNoBoardId: return "smNoBoardId";
  512.         case smNoBoardSRsrc: return "smNoBoardSRsrc";
  513.         case smNoDir: return "smNoDir";
  514.         case smNoGoodOpens: return "smNoGoodOpens";
  515.         case smNoJmpTbl: return "smNoJmpTbl";
  516.         case smNoMoresRsrcs: return "smNoMoresRsrcs";
  517.         case smNosInfoArray: return "smNosInfoArray";
  518.         case smOffsetErr: return "smOffsetErr";
  519.         case smPRAMInitErr: return "smPRAMInitErr";
  520.         case smPriInitErr: return "smPriInitErr";
  521.         case smRecNotFnd: return "smRecNotFnd";
  522.         case smReservedErr: return "smReservedErr";
  523.         case smResrvErr: return "smResrvErr";
  524.         case smRevisionErr: return "smRevisionErr";
  525.         case smSDMInitErr: return "smSDMInitErr";
  526.         case smSRTInitErr: return "smSRTInitErr";
  527.         case smSRTOvrFlErr: return "smSRTOvrFlErr";
  528.         case smSelOOBErr: return "smSelOOBErr";
  529.         case smSlotOOBErr: return "smSlotOOBErr";
  530.         case smUnExBusErr: return "smUnExBusErr";
  531.         case smsGetDrvrErr: return "smsGetDrvrErr";
  532.         case smsPointerNil: return "smsPointerNil";
  533.         case spdAdjErr: return "spdAdjErr";
  534.         case statusErr: return "statusErr";
  535.         case strUserBreak: return "strUserBreak";
  536.         case svDisabled: return "svDisabled";
  537.         case svTempDisable: return "svTempDisable";
  538. //         case swOverrunErr: return "swOverrunErr";
  539.         case teScrapSizeErr: return "teScrapSizeErr";
  540.         case tk0BadErr: return "tk0BadErr";
  541.         case tmfoErr: return "tmfoErr";
  542.         case tmwdoErr: return "tmwdoErr";
  543.         case tooManyReqs: return "tooManyReqs";
  544.         case tooManySkts: return "tooManySkts";
  545.         case twoSideErr: return "twoSideErr";
  546.         case unimpErr: return "unimpErr";
  547.         case unitEmptyErr: return "unitEmptyErr";
  548.         case unitTblFullErr: return "unitTblFullErr";
  549.         case updPixMemErr: return "updPixMemErr";
  550.         case userBreak: return "userBreak";
  551.         case userCanceledErr: return "userCanceledErr";
  552.         case userRejectErr: return "userRejectErr";
  553.         case vLckdErr: return "vLckdErr";
  554.         case vTypErr: return "vTypErr";
  555. //         case verErr: return "verErr";
  556.         case volGoneErr: return "volGoneErr";
  557.         case volOffLinErr: return "volOffLinErr";
  558.         case volOnLinErr: return "volOnLinErr";
  559.         case wPrErr: return "wPrErr";
  560.         case wrPermErr: return "wrPermErr";
  561.         case wrUnderrun: return "wrUnderrun";
  562.         case wrgVolTypErr: return "wrgVolTypErr";
  563.         case writErr: return "writErr";
  564.         
  565.         case kOCEToolboxNotOpen: return "kOCEToolboxNotOpen";
  566.         case kOCEInvalidCommand: return "kOCEInvalidCommand";
  567.         case kOCEInvalidRef: return "kOCEInvalidRef";
  568.         case kOCEBufferTooSmall: return "kOCEBufferTooSmall";
  569.         case kOCEVersionErr: return "kOCEVersionErr";
  570.         case kOCESyncAsyncErr: return "kOCESyncAsyncErr";
  571.         case kOCEInternalErr: return "kOCEInternalErr";
  572.         case kOCENotAnOwner: return "kOCENotAnOwner";
  573.         case kOCENotImplemented: return "kOCENotImplemented";
  574.         case kOCENotAuthenticated: return "kOCENotAuthenticated";
  575.         case kOCEAlreadyExists: return "kOCEAlreadyExists";
  576.         case kOCEDoesntExist: return "kOCEDoesntExist";
  577.         case kOCEConnectionErr: return "kOCEConnectionErr";
  578.         case kOCEConnectionClosed: return "kOCEConnectionClosed";
  579.         case kOCEInvalidRecipient: return "kOCEInvalidRecipient";
  580.         case kOCEInvalidIndex: return "kOCEInvalidIndex";
  581.         case kOCERefIsClosing: return "kOCERefIsClosing";
  582.         case kOCEHasPendingMsgs: return "kOCEHasPendingMsgs";
  583.         case kOCEInvalidConfiguration: return "kOCEInvalidConfiguration";
  584.         case kOCERequiredServicesNotAvailable: return "kOCERequiredServicesNotAvailable";
  585.         case kOCEServerInactive: return "kOCEServerInactive";
  586.         case kOCEMoreDiskSpaceNeeded: return "kOCEMoreDiskSpaceNeeded";
  587.     
  588.         case kOCEReadAccessDenied: return "kOCEReadAccessDenied";
  589.         case kOCEWriteAccessDenied: return "kOCEWriteAccessDenied";
  590.         case kOCEAccessRightsInsufficient: return "kOCEAccessRightsInsufficient";
  591.         case kOCEUnsupportedCredentialsVersion: return "kOCEUnsupportedCredentialsVersion";
  592.         case kOCECredentialsProblem: return "kOCECredentialsProblem";
  593.         case kOCECredentialsImmature: return "kOCECredentialsImmature";
  594.         case kOCECredentialsExpired: return "kOCECredentialsExpired";
  595.         case kOCEProxyImmature: return "kOCEProxyImmature";
  596.         case kOCEProxyExpired: return "kOCEProxyExpired";
  597.         case kOCEDisallowedRecipient: return "kOCEDisallowedRecipient";
  598.         case kOCENoKeyFound: return "kOCENoKeyFound";
  599.         case kOCEPrincipalKeyNotFound: return "kOCEPrincipalKeyNotFound";
  600.         case kOCERecipientKeyNotFound: return "kOCERecipientKeyNotFound";
  601.         case kOCEAgentKeyNotFound: return "kOCEAgentKeyNotFound";
  602.         case kOCEKeyAlreadyRegistered: return "kOCEKeyAlreadyRegistered";
  603.         case kOCEMalformedKey: return "kOCEMalformedKey";
  604.         case kOCEUndesirableKey: return "kOCEUndesirableKey";
  605.         case kOCEWrongIdentityOrKey: return "kOCEWrongIdentityOrKey";
  606.         case kOCEInitiatorKeyProblem: return "kOCEInitiatorKeyProblem";
  607.         case kOCEBadEncryptionMethod: return "kOCEBadEncryptionMethod";
  608.         case kOCELocalIdentityDoesNotExist: return "kOCELocalIdentityDoesNotExist";
  609.         case kOCELocalAuthenticationFail: return "kOCELocalAuthenticationFail";
  610.         case kOCELocalIdentitySetupExists: return "kOCELocalIdentitySetupExists";
  611.         case kOCEDirectoryIdentitySetupExists: return "kOCEDirectoryIdentitySetupExists";
  612.         case kOCEDirectoryIdentitySetupDoesNotExist: return "kOCEDirectoryIdentitySetupDoesNotExist";
  613.         case kOCENotLocalIdentity: return "kOCENotLocalIdentity";
  614.         case kOCENoMoreIDs: return "kOCENoMoreIDs";
  615.         case kOCEUnknownID: return "kOCEUnknownID";
  616.         case kOCEOperationDenied: return "kOCEOperationDenied";
  617.         case kOCEAmbiguousMatches: return "kOCEAmbiguousMatches";
  618.         case kOCENoASDSPWorkSpace: return "kOCENoASDSPWorkSpace";
  619.         case kOCEAuthenticationTrouble: return "kOCEAuthenticationTrouble";
  620.     
  621.         case kOCENotLocal: return "kOCENotLocal";
  622.         case kOCETooBusy: return "kOCETooBusy";
  623.         case kOCEDatabaseFull: return "kOCEDatabaseFull";
  624.         case kOCETargetDirectoryInaccessible: return "kOCETargetDirectoryInaccessible";
  625.         case kOCEBogusArgs: return "kOCEBogusArgs";
  626.         case kOCENoSuchDNode: return "kOCENoSuchDNode";
  627.         case kOCEDNodeUnavailable: return "kOCEDNodeUnavailable";
  628.         case kOCEBadRecordID: return "kOCEBadRecordID";
  629.         case kOCENoSuchRecord: return "kOCENoSuchRecord";
  630.         case kOCENoSuchAttributeValue: return "kOCENoSuchAttributeValue";
  631.         case kOCENoSuchPseudonym: return "kOCENoSuchPseudonym";
  632.         case kOCEAttributeValueTooBig: return "kOCEAttributeValueTooBig";
  633.         case kOCETypeExists: return "kOCETypeExists";
  634.         case kOCEMoreData: return "kOCEMoreData";
  635.         case kOCERefNumBad: return "kOCERefNumBad";
  636.         case kOCEStreamCreationErr: return "kOCEStreamCreationErr";
  637.         case kOCEOperationNotSupported: return "kOCEOperationNotSupported";
  638.         case kOCEPABNotOpen: return "kOCEPABNotOpen";
  639.         case kOCEDSAMInstallErr: return "kOCEDSAMInstallErr";
  640.         case kOCEDirListFullErr: return "kOCEDirListFullErr";
  641.         case kOCEDirectoryNotFoundErr: return "kOCEDirectoryNotFoundErr";
  642.         case kOCEAbortNotSupportedForThisCall: return "kOCEAbortNotSupportedForThisCall";
  643.         case kOCEAborted: return "kOCEAborted";
  644.         case kOCEOCESetupRequired: return "kOCEOCESetupRequired";
  645.         case kOCEDSAMRecordNotFound: return "kOCEDSAMRecordNotFound";
  646.         case kOCEDSAMNotInstantiated: return "kOCEDSAMNotInstantiated";
  647.         case kOCEDSAMRecordExists: return "kOCEDSAMRecordExists";
  648.         case kOCELengthError: return "kOCELengthError";
  649.         case kOCEBadStartingRecord: return "kOCEBadStartingRecord";
  650.         case kOCEBadStartingAttribute: return "kOCEBadStartingAttribute";
  651.         case kOCEMoreAttrValue: return "kOCEMoreAttrValue";
  652.         case kOCENoDupAllowed: return "kOCENoDupAllowed";
  653.         case kOCENoSuchAttributeType: return "kOCENoSuchAttributeType";
  654.         case kOCEMiscError: return "kOCEMiscError";
  655.         case kOCENoSuchIcon: return "kOCENoSuchIcon";
  656.         case kOCERLIsDontMatch: return "kOCERLIsDontMatch";
  657.         case kOCEDirectoryCorrupt: return "kOCEDirectoryCorrupt";
  658.     
  659.         case kSMPNotEnoughMemoryForAllRecips: return "kSMPNotEnoughMemoryForAllRecips";
  660.         case kSMPCopyInProgress: return "kSMPCopyInProgress";
  661.         case kSMPMailerNotInitialized: return "kSMPMailerNotInitialized";
  662.         case kSMPShouldNotAddContent: return "kSMPShouldNotAddContent";
  663.         case kSMPMailboxNotFound: return "kSMPMailboxNotFound";
  664.         case kSMPNoNextLetter: return "kSMPNoNextLetter";
  665.         case kSMPHasOpenAttachments: return "kSMPHasOpenAttachments";
  666.         case kSMPFinderNotRunning: return "kSMPFinderNotRunning";
  667.         case kSMPCommandDisabled: return "kSMPCommandDisabled";
  668.         case kSMPNoMailerInWindow: return "kSMPNoMailerInWindow";
  669.         case kSMPNoSuchAddress: return "kSMPNoSuchAddress";
  670.         case kSMPMailerAlreadyInWindow: return "kSMPMailerAlreadyInWindow";
  671.         case kSMPMailerUneditable: return "kSMPMailerUneditable";
  672.         case kSMPNoMatchingBegin: return "kSMPNoMatchingBegin";
  673.         case kSMPCannotSendReceivedLetter: return "kSMPCannotSendReceivedLetter";
  674.         case kSMPIllegalForDraftLetter: return "kSMPIllegalForDraftLetter";
  675.         case kSMPMailerCannotExpandOrContract: return "kSMPMailerCannotExpandOrContract";
  676.         case kSMPMailerAlreadyExpandedOrContracted: return "kSMPMailerAlreadyExpandedOrContracted";
  677.         case kSMPIllegalComponent: return "kSMPIllegalComponent";
  678.         case kSMPMailerAlreadyNotTarget: return "kSMPMailerAlreadyNotTarget";
  679.         case kSMPComponentIsAlreadyTarget: return "kSMPComponentIsAlreadyTarget";
  680.         case kSMPRecordDoesNotContainAddress: return "kSMPRecordDoesNotContainAddress";
  681.         case kSMPAddressAlreadyInList: return "kSMPAddressAlreadyInList";
  682.         case kSMPIllegalSendFormats: return "kSMPIllegalSendFormats";
  683.         case kSMPInvalidAddressString: return "kSMPInvalidAddressString";
  684.         case kSMPSubjectTooBig: return "kSMPSubjectTooBig";
  685.         case kSMPParamCountErr: return "kSMPParamCountErr";
  686.         case kSMPTooManyPages: return "kSMPTooManyPages";
  687.         case kSMPTooManyEnclosures: return "kSMPTooManyEnclosures";
  688.     
  689.         case kSDPNoSearchText: return "kSDPNoSearchText";
  690.         case kSDPTooManyLoginAttempts: return "kSDPTooManyLoginAttempts";
  691.         case kSDPNoSelection: return "kSDPNoSelection";
  692.         case kSDPPersonalDirectoryRepairFailed: return "kSDPPersonalDirectoryRepairFailed";
  693.     
  694.         case kSIGOperationIncompatibleErr: return "kSIGOperationIncompatibleErr";
  695.         case kSIGCertificateQueryDenied: return "kSIGCertificateQueryDenied";
  696.         case kSIGVerifyFailedErr: return "kSIGVerifyFailedErr";
  697.         case kSIGInvalidCredentialErr: return "kSIGInvalidCredentialErr";
  698.         case kSIGIndexErr: return "kSIGIndexErr";
  699.         case kSIGSignerErr: return "kSIGSignerErr";
  700.         case kSIGPasswordErr: return "kSIGPasswordErr";
  701.         case kSIGInternalsErr: return "kSIGInternalsErr";
  702.         case kSIGToolboxNotPresentErr: return "kSIGToolboxNotPresentErr";
  703.         case kSIGContextPrepareErr: return "kSIGContextPrepareErr";
  704.         case kSIGNoDigestErr: return "kSIGNoDigestErr";
  705.         case kSIGConversionErr: return "kSIGConversionErr";
  706.         case kSIGSignerNotValidErr: return "kSIGSignerNotValidErr";
  707.         case kSIGNoSignature: return "kSIGNoSignature";
  708.     
  709.         case kDETInvalidTargetAspectName: return "kDETInvalidTargetAspectName";
  710.         case kDETInvalidTargetItemNumber: return "kDETInvalidTargetItemNumber";
  711.         case kDETInvalidTargetFromNonAspect: return "kDETInvalidTargetFromNonAspect";
  712.         case kDETInvalidTargetDSSpec: return "kDETInvalidTargetDSSpec";
  713.         case kDETUnknownTargetSelector: return "kDETUnknownTargetSelector";
  714.         case kDETInvalidTarget: return "kDETInvalidTarget";
  715.         case kDETTargetNotAnAspect: return "kDETTargetNotAnAspect";
  716.         case kDETInvalidCommandItemNumber: return "kDETInvalidCommandItemNumber";
  717.         case kDETUnableToGetCommandItemSpec: return "kDETUnableToGetCommandItemSpec";
  718.         case kDETRequestedTypeUnavailable: return "kDETRequestedTypeUnavailable";
  719.         case kDETInvalidDSSpec: return "kDETInvalidDSSpec";
  720.         case kDETUnableToAccessProperty: return "kDETUnableToAccessProperty";
  721.         case kDETInfoPageNotOpen: return "kDETInfoPageNotOpen";
  722.         case kDETNoSuchView: return "kDETNoSuchView";
  723.         case kDETCouldNotAddMenuItem: return "kDETCouldNotAddMenuItem";
  724.         case kDETCouldNotRemoveMenuItem: return "kDETCouldNotRemoveMenuItem";
  725.         case kDETCouldNotFindMenuItem: return "kDETCouldNotFindMenuItem";
  726.         case kDETCouldNotFindCustomView: return "kDETCouldNotFindCustomView";
  727.         case kDETInvalidReqFunction: return "kDETInvalidReqFunction";
  728.         case kDETInvalidCallBack: return "kDETInvalidCallBack";
  729.         case kDETPropertyBusy: return "kDETPropertyBusy";
  730.         case kMailInvalidOrder: return "kMailInvalidOrder";
  731.                                                             /* handle non-zero offsets for now */
  732.         case kMailInvalidSeqNum: return "kMailInvalidSeqNum";
  733.         case kMailAttrNotInHdr: return "kMailAttrNotInHdr";
  734.         case kMailHdrAttrMissing: return "kMailHdrAttrMissing";
  735.         case kMailBadEnclLengthErr: return "kMailBadEnclLengthErr";
  736.         case kMailInvalidRequest: return "kMailInvalidRequest";
  737.         case kMailInvalidPostItVersion: return "kMailInvalidPostItVersion";
  738.         case kMailNotASlotInQ: return "kMailNotASlotInQ";
  739.         case kMailLtrNotOpen: return "kMailLtrNotOpen";
  740.         case kMailMissingMailCat: return "kMailMissingMailCat";
  741.         case kMailCannotWriteMailCat: return "kMailCannotWriteMailCat";
  742.         case kMailTooManyTagsPerLetter: return "kMailTooManyTagsPerLetter";
  743.         case kMailGwyDead: return "kMailGwyDead";
  744.         case kMailIgnoredErr: return "kMailIgnoredErr";
  745.         case kMailLengthErr: return "kMailLengthErr";
  746.         case kMailTooManyErr: return "kMailTooManyErr";
  747.         case kMailNoMSAMErr: return "kMailNoMSAMErr";
  748.         case kMailCancelled: return "kMailCancelled";
  749.         case kMailSlotSuspended: return "kMailSlotSuspended";
  750.         case kMailMSAMSuspended: return "kMailMSAMSuspended";
  751.         case kMailBadSlotInfo: return "kMailBadSlotInfo";
  752.         case kMailMalformedContent: return "kMailMalformedContent";
  753.         case kMailNoSuchSlot: return "kMailNoSuchSlot";
  754.         case kMailBadLtrInfo: return "kMailBadLtrInfo";
  755.  
  756.         default:
  757.             return "unknown error";
  758.     }
  759. }
  760.  
  761. #pragma pop
  762.  
  763. /***********************************|****************************************/
  764.  
  765.